FIG. 1 illustrates a block diagram of a computing system 10 including associated hardware for providing graphics display capability. The computing system 10 may be a personal computer. Communications in the system are transmitted on bus 11 between the hardware elements described below. The system 10 includes a CPU 12. A disk controller 13 is coupled to bus 11 and to hard drive 14 and floppy disk drive 15. The memory space further includes a dynamic random access memory 16 which is also connected to the bus 11 and which provides high speed reading and writing of data to support data processing performed by the system 10. The memory space is used for diverse functions as known in the art. The hard drive 14 has a much larger storage capacity than the floppy disk 15 and because of its capacity, a substantial time is required for its back up because of the absence of a high speed data port which is available for restoration of the memory space therein. The floppy disk memory 15 is the widely used floppy disk memory for storing information which is processed in accordance with the myriad of functions conventionally performed by the CPU 12. Associated with CPU 12 is a graphics adaptor card 18 which is coupled to bus 11 and which is bidirectionally connected to a video random access memory 19. The video random access memory is also connected to a graphics display processor 20 which continually reads data to be displayed from the video random access memory and formats information for display by a video monitor 22. As is indicated on the video channel 24 by the notation "N", the output from the graphics display processor 20, which is connected to the video monitor 22, is N bits wide which is indicative of the number of bits to produce a color display of a selected number of colors in a color palate encoded by N parallel bits on the N lines of the output 24. The video channel 24 is representative of typically 8 or 24 parallel lines each of which transmits a bit in a word which commands the color encoded by the word to be displayed by the video monitor 22 for each pixel of display data stored in the frame buffer of the video random access memory 19.
The video random access memory 19 functions as a dual ported memory coupled to the bus and graphics display processor which permits the CPU 12 to control writing of information stored in the memory space of the CPU such as that stored in the hard drive 14 while the graphics display processor 20 is retrieving information from the video random access memory for purposes of formatting with appropriate video synchronization information for display by the video monitor 22.
Typically, the graphics display processor is programmed to operate in a graphics mode. For example, the VGA 640.times.480 graphics mode contains a data space of 480 rows (scan lines). Each of the scan lines contains 640 bits (pixels) of information. Each pixel further is displayed with a programmable color specified by the value of the N bits which are outputted by the N parallel lines of the video channel 24. Thus, the video channel 24 can be thought of as transmitting N serial information streams each having a bit value of zero or one which bit values are combined to command the color of display of each pixel displayed by the video monitor 22.
The graphics display processor 20 has first and second frame buffers which function to store information which is outputted by the video random access memory 19 to one of the frame buffers while the other of the frame buffers is driving the display of the video monitor 22 through the outputting of the display formatted data on the video channel 24.
Standard non-interlaced monitors 22 typically refresh data at rates of 60-72 frames. Thus, each serial data stream of the N serial data streams outputted by the video channel 24 has a data rate of approximately 20 megabits per second or more.
The use of the graphics display processor 20 to send display data to the video monitor 22 over a video channel 24 has been well known for many years. The representation of a video image to be displayed on the video monitor 22 is created by the CPU 12 controlling the writing of the data pattern into the video random access memory 19 where it is read by the graphics display processor 20. The CPU 12 creates proper patterns for display from the address space of system memory including data stored in the hard drive 14 and the bootable backup floppy disk memory 15. The graphics display processor 20 repeatedly scans the video random access memory 19 and processes the pattern of information stored and readout from the frame buffer of the video random access memory into the series of data streams having N parallel bits which are outputted on the video channel 24 to produce color pixels of N bit resolution on the video monitor 22.
The video monitor 22 displays the graphical or textual data which has been stored in the memory space of the system 10 and processed by the video random access memory 19 and graphics display processor 20 into a format suitable for display.
Graphics display processors 20 support a variety of video formats. Well defined protocols are known for programming these known variety of video formats.
Currently, the graphics display processor 20 has been developed to perform the single purpose of displaying the data stored in the memory space of the CPU 12 and converting it into a suitable display format for display on the video monitor 22 by the operations performed by the video random access memory 19 and the graphics display processor. The extremely high data rates which are necessary to drive the display of the video monitor 22 at frame rates which are typically, as explained above, between 60 and 72 frames per second have not been applied to other applications which use the video channel 24 as a high speed data output device.
The use of backup procedures to replicate and safeguard information stored in the internal hard drive have become more and more important as the storage capacity of hard drives has rapidly expanded in the last few years. The speed at which backup may be accomplished is a critical factor. As memory drives become larger, the time required to backup the internal hard drive increases. The increased time discourages users from performing backup of the hard drive on a regular basis.
PCs having large internal hard drives and PCs not supporting high-speed I/O devices present a particular problem. Today's laptops with large internal drives are good examples of where backup of data is a problem since the backing up of the stored data must be done either via the parallel or serial port which is present on the PC.
Currently, rapid backup of computer disk information requires the use of internal hardware devices capable of transferring information from the computer's data bus to an external storage device in a compressed or otherwise proprietary format. The most popular techniques available in the order of increasing transfer rates include the following:
(1) Serial communication ports
Serial communication ports typically can transfer data at speeds up to 11.5 K/Bytes per second. Serial ports are included on all PCs, are bidirectional and can be used for both backup and restore operations.
(2) Parallel communication ports
Parallel ports can transfer data at up to 30 K-Bytes per second. Occasionally, some input capability exists, but at much slower speeds dependent on the PC manufacturer's design. Generally, these ports are included on all PCs. Newer designs using parallel integrated circuits allow bidirectional data flow and at higher rates than their predecessors.
(3) Floppy disk drives
Usually, PCs come with at least one floppy disk drive. These devices will support a continuous transfer rate of about 45 K-Bytes per second for large data sets.
The practical transfer rate is limited by mechanical track-to-track access times and the fact that the media needs to be manually changed about after a megabyte has been written. Floppy drives are bidirectional and can be used for both backup and restore purposes.
(4) Floppy/hard disk controllers
Most PCs come with a disk controller capable of supporting both floppy and hard disk drives. The floppy drive controller can support about 300-500 K-Bytes per second in short bursts but not for continuous periods.
The controller is limited by a 16-bit byte count register which requires reloading after 64 K-Bytes have been transferred. The disk controllers are bidirectional and can be used for both backup and restoration.
(5) External or internal magnetic data cartridges
Today, the most popular backup devices use a magnetic data cartridge. These devices either use the PC's floppy disk controller or a separate external or internal interface controller. These devices can maintain about 500 K-Bytes per second without compression or about 1 M-Bytes per second when using compression techniques. These devices are typically optional equipment and cost approximately $200 for 250 K-Byte of backup capability. Both backup and restore are provided with many options for individual and group file selections available. The problem for many PCs, including laptops and palmtops, is that there is no internal space to hold the extra drive and no external connector to allow connection to an external drive.
(6) External or internal disk drives
Occasionally, users will install a second hard drive for the purpose of backing up or replicating data sets. This is the fastest backup technique available today and whenever it is possible, sustained transfer rates in excess 500 K-Bytes per second are easily accomplished.